// 引入 dataBase 实例对象
const dataBase = require('../dataBase')

// 调用 jsonwebtoken 包 提供的 sign() 方法，将用户的信息加密成 JWT 字符串，响应给客户端:
const jsonwebtoken = require('jsonwebtoken')
const JWTConfig = require('../JWT_Config')



// 定义一个 login 的处理函数
function Login(req, res){

    console.log(req.body)

    // 定义一个查询用户输入的数据是否存在的 SQL
    const SelectUser = 'select College, password from user where College = ?';

    if(req.body.College === '' || req.body.password === ''){
        return res.send({
            status: 404,
            message: '请输入账号密码！'
        })
    }

    // 进行用户的登入判断
    dataBase.query(SelectUser, req.body.College, (err, results) => {

        if(err){
            return res.send({
                status: 404,
                message: '未知错误！请稍后重试！'
            })
        }

        if(!results[0]){
            return res.send({
                status: 404,
                message: '用户不存在, 请注册新用户！'
            })
        }

        if(req.body.password !== results[0].password){
            return res.send({
                status: 404,
                message: '密码错误！'
            })
        }

        // 生成 Token 字符串
        // const tokenStr = jsonwebtoken.sign({username: req.body.username}, JWTConfig.secretKey, {expiresIn: JWTConfig.expiresIn})
        const tokenStr = jsonwebtoken.sign({College: req.body.College}, JWTConfig.secretKey)

        res.send({
            status: 200,
            tokenStr: tokenStr,
            message: '欢迎用户 ' + req.body.username + ' 的使用！'
        })
        
    })

}


// // 定义一个 Register 的处理函数
// function Register(req, res){
//     const userInfo = req.body

//     // 定义一条添加用户信息的 SQL
//     const addUserSql = 'insert into user (userName, passWord, name, age, sex, birthday, address, usertype) values(?, ?, ?, ?, ?, ?, ?, ?)'
//     // 定义一条查询xin账户是否存在的 SQL
//     const SelectUsered = 'select * from user where userName = ?'


//     if(userInfo.username === '' || userInfo.password === ''){
//         return res.send({
//             status: 404,
//             message: '账号密码不能为空！'
//         })
//     }

//     if(userInfo.name === '' || userInfo.age === '' || userInfo.sex === '' || userInfo.birthday === '' || userInfo.address === ''){
//         return res.send({
//             status: 404,
//             message: '请将信息填完整！'
//         }) 
//     }

//     if(userInfo.usertype === '1'){
//         return res.send({ 
//             status: 404,
//             message: '注册管理员账户，联系邮箱 ：2974099467@qq.com  '
//         })
//     } 

//     if(userInfo.usertype === ''){
//         return res.send({
//             status : 404,
//             message: '用户类型必选！'
//         })
//     }

//     // 判断该账号是否存在
//     dataBase.query(SelectUsered, userInfo.username, (err, results) => {
//         console.log(results)
//         if(err){
//             return res.send({ 
//                 status: 404,
//                 message: '未知错误1,请稍后重试！ '
//             })
//         }

//         if(results[0]){
//             return res.send({
//                 status: 404,
//                 message: '该账号已存在！'
//             })
//         }

//         // 进行新用户数据添加
//         dataBase.query(addUserSql, [userInfo.username, userInfo.password, userInfo.name, userInfo.age, userInfo.sex, userInfo.birthday, userInfo.address, userInfo.usertype], (err, results) => {
//             if(err){
//                 return res.send({ 
//                     status: 404,
//                     message: '未知错误,请稍后重试！ '
//                 })
//             }
    
//             if(results.affectedRows === 1){
//                 res.send({
//                     status: 200,
//                     message: '注册成功！'
//                 })
//             }
//         })
//     })
// }



module.exports = {
    Login,
    // Register,
}